home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / game / misc / HereticPortal.lha / HereticPortal0.7 / HereticPortal.rexx < prev   
OS/2 REXX Batch file  |  1999-02-16  |  34KB  |  1,009 lines

  1. /* $VER: HereticPortal 0.7 (1999-02-16) */
  2. options results
  3. call Tags
  4. SELECT
  5. WHEN arg(1)="START" then call Start
  6. WHEN arg(1)="LOAD_1" then call Config("Load","1_")
  7. WHEN arg(1)="SAVE_1" then call Config("Save","1_")
  8. WHEN arg(1)="LOAD_2" then call Config("Load","2_")
  9. WHEN arg(1)="SAVE_2" then call Config("Save","2_")
  10. WHEN arg(1)="LOAD_3" then call Config("Load","3_")
  11. WHEN arg(1)="SAVE_3" then call Config("Save","3_")
  12. WHEN arg(1)="LOADSETTINGS" then call LoadSettings
  13. WHEN arg(1)="SAVESETTINGS" then call SaveSettings
  14. OTHERWISE call Init
  15. end
  16. exit
  17. Init:
  18. address HereticPortal
  19. window ID HMAIN TITLE '"HereticPortal v0.7"' COMMAND '"quit"' PORT HereticPortal ATTRS MUIA_Window_ScreenTitle '"HereticPortal 0.7 ©1999 Lorens Johansson Freely Distributable Emailware"'
  20. menu LABEL "HereticPortal"
  21. item COMMAND '"method 'MUIM_Application_AboutMUI' 0"' PORT HereticPortal ATTRS MUIA_Menuitem_Shortcut 'A' LABEL "About MUI"
  22. item ATTRS MUIA_Menuitem_Title '-1'
  23. item COMMAND '"quit"' PORT HereticPortal ATTRS MUIA_Menuitem_Shortcut 'Q' LABEL "Quit"
  24. endmenu
  25. menu LABEL "Settings"
  26. item COMMAND '"method 'MUIM_Application_OpenConfigWindow'"' PORT HereticPortal ATTRS MUIA_Menuitem_Shortcut 'M' LABEL "MUI Settings..."
  27. item ATTRS MUIA_Menuitem_Title '-1'
  28. item COMMAND '"HereticPortal.rexx LOADSETTINGS"' ATTRS MUIA_Menuitem_Shortcut 'L' LABEL "Load Settings"
  29. item COMMAND '"HereticPortal.rexx SAVESETTINGS"' ATTRS MUIA_Menuitem_Shortcut 'S' LABEL "Save Settings"
  30. endmenu
  31. text help '"HereticPortal v0.7 by\nLorens Johansson (http://members.xoom.com/snorslex)\nIf you use this program, you are required to\nEmail the author (SnorsleX@SoftHome.net). Otherwise,\nhow is he supposed to know to keep supporting\nHereticPortal ?!?\n\033rLorens Johansson"' label "\033c\033bHereticPortal v0.7\033n\n\033cLorens Johansson\n\033cFreely Distributable Emailware"
  32. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Heretic (68k&PPC),AHeretic (68k),AmiHeretic (68k&PPC),Information"
  33. group 
  34. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings"
  35. group
  36. label "\033cThis is made for version: \033b0.8"
  37. group frame ATTRS MUIA_Group_Columns 3 label "Parameters"
  38. space HORIZ
  39. group
  40. group ATTRS MUIA_Group_Columns 8
  41. label "-asl"
  42. check ID 1_ASL ATTRS MUIA_CycleChain 1 HELP '"Use asl requester to select screen mode defsult is PAL|LORES\n(in PPC version you will see other screen modes than lores,\nbut please DO NOT select other resolution than 320*xxx)."'
  43. label "-bilinear"
  44. check ID 1_BIL ATTRS MUIA_CycleChain 1 HELP '"Enables bilinear filtering in hicolor mode.\nTake a look at bilinear.iff, to see the difference."'
  45. label "-directcgx"
  46. check ID 1_DIR ATTRS MUIA_CycleChain 1 HELP '"Use fast copy routines instead of writepixel\narray does not work with window mode."'
  47. label "-fps"
  48. check ID 1_FPS ATTRS MUIA_CycleChain 1 HELP '"Shows online fps counter."'
  49. label "-ham6"
  50. check ID 1_HA6 ATTRS MUIA_CycleChain 1 HELP '"Sets display in hicolor on AGA to ham6."'
  51. label "-ham8"
  52. check ID 1_HA8 ATTRS MUIA_CycleChain 1 HELP '"Sets display in hicolor on AGA to ham8. Default in ham6."'
  53. label "-hicolor"
  54. check ID 1_HIC ATTRS MUIA_CycleChain 1 HELP '"Enables hicolor rendering."'
  55. label "-joy"
  56. check ID 1_JOY ATTRS MUIA_CycleChain 1 HELP '"Enables joystick support."'
  57. label "-lowdetail"
  58. check ID 1_LOW ATTRS MUIA_CycleChain 1 HELP '"Turns on low detail floor and ceiling rendering.\nLow detail can be also switched on/off with L key during game."'
  59. label "-mouse"
  60. check ID 1_MOU ATTRS MUIA_CycleChain 1 HELP '"Turns mouse on."'
  61. label "-music"
  62. check ID 1_MUS ATTRS MUIA_CycleChain 1 HELP '"Enables music."'
  63. label "-nodoublebuffer"
  64. check ID 1_NOD ATTRS MUIA_CycleChain 1 HELP '"Turns off double buffering."'
  65. label "-nosfx"
  66. check ID 1_NOS ATTRS MUIA_CycleChain 1 HELP '"Disables sound fx effects."'
  67. label "-nosound"
  68. check ID 1_NOO ATTRS MUIA_CycleChain 1 HELP '"Disables music and sfx (no sound at all)."'
  69. label "-turbo"
  70. check ID 1_TUR ATTRS MUIA_CycleChain 1 HELP '"This is actually a bug, which I made available as an option.\nTry this and die ;)"'
  71. label "-window"
  72. check ID 1_WIN ATTRS MUIA_CycleChain 1 HELP '"Display results in window on workbench screen workbench must have\nleast 15 bit depth doublebuffering does not work on window."'
  73. endgroup
  74. group ATTRS MUIA_Group_Columns 6
  75. label "-bus"
  76. check ID 1_CBU ATTRS MUIA_CycleChain 1 HELP '"Sets bus clock. Should be used with care. If Heretic runs too fast,\nyou can use this switch. After heretic starts, It prints actual bus\nclock. This value should be beetwen 50-70 Mhz. If it is really low\n(like 30Mhz or lower) type -bus 60000000 to get 60Mhz bus clock.\nTry different values here (but with care!!!)."' PORT INLINE,
  77. COMMAND """if %s = 0 then do;
  78. address HereticPortal string ID 1_SBU ATTRS '0x80423661' 1;
  79. end;
  80. else do;
  81. address HereticPortal string ID 1_SBU ATTRS '0x80423661' 0;
  82. end"""
  83. string ID 1_SBU ATTRS MUIA_CycleChain 1 HELP '"Sets bus clock. Should be used with care. If Heretic runs too fast,\nyou can use this switch. After heretic starts, It prints actual bus\nclock. This value should be beetwen 50-70 Mhz. If it is really low\n(like 30Mhz or lower) type -bus 60000000 to get 60Mhz bus clock.\nTry different values here (but with care!!!)."'
  84. label "-playdemo"
  85. check ID 1_CPL ATTRS MUIA_CycleChain 1 HELP '"Plays the given demo."' PORT INLINE,
  86. COMMAND """if %s = 0 then do;
  87. address HereticPortal string ID 1_SPL ATTRS '0x80423661' 1;
  88. end;
  89. else do;
  90. address HereticPortal string ID 1_SPL ATTRS '0x80423661' 0;
  91. end"""
  92. string ID 1_SPL ATTRS MUIA_CycleChain 1 HELP '"Plays the given demo."'
  93. endgroup
  94. endgroup
  95. space HORIZ
  96. endgroup
  97. space
  98. group ATTRS MUIA_Group_Columns 2
  99. label "Heretic Path:"
  100. popasl ID 1_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the Heretic executable!"'
  101. endgroup
  102. endgroup
  103. group
  104. group frame ATTRS MUIA_Group_Columns 2 label "Heretic.cfg"
  105. button ID 1_GLO ATTRS MUIA_CycleChain 1 command """HereticPortal.rexx LOAD_1""" label "Load Heretic.cfg"
  106. button ID 1_GSA ATTRS MUIA_CycleChain 1 command """HereticPortal.rexx SAVE_1""" label "Save Heretic.cfg"
  107. endgroup
  108. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,ChatMacros"
  109. group scroll ATTRS MUIA_Group_Columns 2
  110. label "Mouse Sensitivity:"
  111. slider ID 1_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9
  112. label "Sfx Volume:"
  113. slider ID 1_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  114. label "Music Volume:"
  115. slider ID 1_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  116. label "Gamma Correct:"
  117. slider ID 1_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4
  118. label "Screen Blocks:"
  119. slider ID 1_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11
  120. endgroup
  121. group scroll ATTRS MUIA_Group_Columns 2
  122. label "Key Right:"
  123. poplist ID 1_20 ATTRS MUIA_CycleChain 1 labels keys
  124. label "Key Left:"
  125. poplist ID 1_21 ATTRS MUIA_CycleChain 1 labels keys
  126. label "Key Up:"
  127. poplist ID 1_22 ATTRS MUIA_CycleChain 1 labels keys
  128. label "Key Down:"
  129. poplist ID 1_23 ATTRS MUIA_CycleChain 1 labels keys
  130. label "Key Strafe Left:"
  131. poplist ID 1_24 ATTRS MUIA_CycleChain 1 labels keys
  132. label "Key Strafe Right:"
  133. poplist ID 1_25 ATTRS MUIA_CycleChain 1 labels keys
  134. label "Key Fly Up:"
  135. poplist ID 1_26 ATTRS MUIA_CycleChain 1 labels keys
  136. label "Key Fly Down:"
  137. poplist ID 1_27 ATTRS MUIA_CycleChain 1 labels keys
  138. label "Key Fly Center:"
  139. poplist ID 1_28 ATTRS MUIA_CycleChain 1 labels keys
  140. label "Key Look Up:"
  141. poplist ID 1_29 ATTRS MUIA_CycleChain 1 labels keys
  142. label "Key Look Down:"
  143. poplist ID 1_30 ATTRS MUIA_CycleChain 1 labels keys
  144. label "Key Look Center:"
  145. poplist ID 1_31 ATTRS MUIA_CycleChain 1 labels keys
  146. label "Key Inv Left:"
  147. poplist ID 1_32 ATTRS MUIA_CycleChain 1 labels keys
  148. label "Key Inv Right:"
  149. poplist ID 1_33 ATTRS MUIA_CycleChain 1 labels keys
  150. label "Key Use Artifact:"
  151. poplist ID 1_34 ATTRS MUIA_CycleChain 1 labels keys
  152. label "Key Fire:"
  153. poplist ID 1_35 ATTRS MUIA_CycleChain 1 labels keys
  154. label "Key Use:"
  155. poplist ID 1_36 ATTRS MUIA_CycleChain 1 labels keys
  156. label "Key Strafe:"
  157. poplist ID 1_37 ATTRS MUIA_CycleChain 1 labels keys
  158. label "Key Speed:"
  159. poplist ID 1_38 ATTRS MUIA_CycleChain 1 labels keys
  160. endgroup
  161. group scroll ATTRS MUIA_Group_Columns 2
  162. label "ChatMacro0:"
  163. string ID 1_80 ATTRS MUIA_CycleChain 1
  164. label "ChatMacro1:"
  165. string ID 1_81 ATTRS MUIA_CycleChain 1
  166. label "ChatMacro2:"
  167. string ID 1_82 ATTRS MUIA_CycleChain 1
  168. label "ChatMacro3:"
  169. string ID 1_83 ATTRS MUIA_CycleChain 1
  170. label "ChatMacro4:"
  171. string ID 1_84 ATTRS MUIA_CycleChain 1
  172. label "ChatMacro5:"
  173. string ID 1_85 ATTRS MUIA_CycleChain 1
  174. label "ChatMacro6:"
  175. string ID 1_86 ATTRS MUIA_CycleChain 1
  176. label "ChatMacro7:"
  177. string ID 1_87 ATTRS MUIA_CycleChain 1
  178. label "ChatMacro8:"
  179. string ID 1_88 ATTRS MUIA_CycleChain 1
  180. label "ChatMacro9:"
  181. string ID 1_89 ATTRS MUIA_CycleChain 1
  182. endgroup
  183. endgroup
  184. endgroup
  185. endgroup
  186. endgroup 
  187. group 
  188. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings"
  189. group
  190. label "\033cThis is made for version: \033b0.2"
  191. group frame ATTRS MUIA_Group_Columns 3 label "Parameters"
  192. space HORIZ
  193. label "\033cNone known yet..."
  194. space HORIZ
  195. endgroup
  196. space
  197. group ATTRS MUIA_Group_Columns 2
  198. label "AHeretic Path:"
  199. popasl ID 2_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the AHeretic executable!"'
  200. endgroup
  201. endgroup
  202. group
  203. group frame ATTRS MUIA_Group_Columns 2 label "Heretic.cfg"
  204. button ID 2_GLO ATTRS MUIA_CycleChain 1 command """HereticPortal.rexx LOAD_2""" label "Load Heretic.cfg"
  205. button ID 2_GSA ATTRS MUIA_CycleChain 1 command """HereticPortal.rexx SAVE_2""" label "Save Heretic.cfg"
  206. endgroup
  207. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,ChatMacros"
  208. group scroll ATTRS MUIA_Group_Columns 2
  209. label "Mouse Sensitivity:"
  210. slider ID 2_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9
  211. label "Sfx Volume:"
  212. slider ID 2_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  213. label "Music Volume:"
  214. slider ID 2_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  215. label "Gamma Correct:"
  216. slider ID 2_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4
  217. label "Screen Blocks:"
  218. slider ID 2_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11
  219. endgroup
  220. group scroll ATTRS MUIA_Group_Columns 2
  221. label "Key Right:"
  222. poplist ID 2_20 ATTRS MUIA_CycleChain 1 labels keys
  223. label "Key Left:"
  224. poplist ID 2_21 ATTRS MUIA_CycleChain 1 labels keys
  225. label "Key Up:"
  226. poplist ID 2_22 ATTRS MUIA_CycleChain 1 labels keys
  227. label "Key Down:"
  228. poplist ID 2_23 ATTRS MUIA_CycleChain 1 labels keys
  229. label "Key Strafe Left:"
  230. poplist ID 2_24 ATTRS MUIA_CycleChain 1 labels keys
  231. label "Key Strafe Right:"
  232. poplist ID 2_25 ATTRS MUIA_CycleChain 1 labels keys
  233. label "Key Fly Up:"
  234. poplist ID 2_26 ATTRS MUIA_CycleChain 1 labels keys
  235. label "Key Fly Down:"
  236. poplist ID 2_27 ATTRS MUIA_CycleChain 1 labels keys
  237. label "Key Fly Center:"
  238. poplist ID 2_28 ATTRS MUIA_CycleChain 1 labels keys
  239. label "Key Look Up:"
  240. poplist ID 2_29 ATTRS MUIA_CycleChain 1 labels keys
  241. label "Key Look Down:"
  242. poplist ID 2_30 ATTRS MUIA_CycleChain 1 labels keys
  243. label "Key Look Center:"
  244. poplist ID 2_31 ATTRS MUIA_CycleChain 1 labels keys
  245. label "Key Inv Left:"
  246. poplist ID 2_32 ATTRS MUIA_CycleChain 1 labels keys
  247. label "Key Inv Right:"
  248. poplist ID 2_33 ATTRS MUIA_CycleChain 1 labels keys
  249. label "Key Use Artifact:"
  250. poplist ID 2_34 ATTRS MUIA_CycleChain 1 labels keys
  251. label "Key Fire:"
  252. poplist ID 2_35 ATTRS MUIA_CycleChain 1 labels keys
  253. label "Key Use:"
  254. poplist ID 2_36 ATTRS MUIA_CycleChain 1 labels keys
  255. label "Key Strafe:"
  256. poplist ID 2_37 ATTRS MUIA_CycleChain 1 labels keys
  257. label "Key Speed:"
  258. poplist ID 2_38 ATTRS MUIA_CycleChain 1 labels keys
  259. endgroup
  260. group scroll ATTRS MUIA_Group_Columns 2
  261. label "ChatMacro0:"
  262. string ID 2_80 ATTRS MUIA_CycleChain 1
  263. label "ChatMacro1:"
  264. string ID 2_81 ATTRS MUIA_CycleChain 1
  265. label "ChatMacro2:"
  266. string ID 2_82 ATTRS MUIA_CycleChain 1
  267. label "ChatMacro3:"
  268. string ID 2_83 ATTRS MUIA_CycleChain 1
  269. label "ChatMacro4:"
  270. string ID 2_84 ATTRS MUIA_CycleChain 1
  271. label "ChatMacro5:"
  272. string ID 2_85 ATTRS MUIA_CycleChain 1
  273. label "ChatMacro6:"
  274. string ID 2_86 ATTRS MUIA_CycleChain 1
  275. label "ChatMacro7:"
  276. string ID 2_87 ATTRS MUIA_CycleChain 1
  277. label "ChatMacro8:"
  278. string ID 2_88 ATTRS MUIA_CycleChain 1
  279. label "ChatMacro9:"
  280. string ID 2_89 ATTRS MUIA_CycleChain 1
  281. endgroup
  282. endgroup
  283. endgroup
  284. endgroup
  285. endgroup 
  286. group 
  287. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings"
  288. group
  289. label "\033cThis is made for version: \033b2.0"
  290. group frame ATTRS MUIA_Group_Columns 3 label "Parameters"
  291. space HORIZ
  292. group
  293. group ATTRS MUIA_Group_Columns 8
  294. label "-bat"
  295. check ID 3_BAT ATTRS MUIA_CycleChain 1 HELP '"????? (Use only on PowerPC systems.)"'
  296. label "-dbuf"
  297. check ID 3_DBU ATTRS MUIA_CycleChain 1 HELP '"To enable Doublebuffering (Probably slightly slower on most Hardware, but less flicker for AGA...)"'
  298. label "-gosure"
  299. check ID 3_GOS ATTRS MUIA_CycleChain 1 HELP '"?????"'
  300. label "-mmu"
  301. check ID 3_MMU ATTRS MUIA_CycleChain 1 HELP '"????? (Use only on PowerPC systems.)"'
  302. label "-music"
  303. check ID 3_MUS ATTRS MUIA_CycleChain 1 HELP '"To activate music."'
  304. label "-nosfx"
  305. check ID 3_NOS ATTRS MUIA_CycleChain 1 HELP '"To deactive music and sound."'
  306. endgroup
  307. group ATTRS MUIA_Group_Columns 6
  308. label "-height"
  309. check ID 3_CHE ATTRS MUIA_CycleChain 1 HELP '"Select the height of the screen in pixels."' PORT INLINE,
  310. COMMAND """if %s = 0 then do;
  311. address HereticPortal string ID 3_SHE ATTRS '0x80423661' 1;
  312. end;
  313. else do;
  314. address HereticPortal string ID 3_SHE ATTRS '0x80423661' 0;
  315. end"""
  316. string ID 3_SHE ATTRS MUIA_CycleChain 1 HELP '"Select the height of the screen in pixels."'
  317. label "-width"
  318. check ID 3_CWI ATTRS MUIA_CycleChain 1 HELP '"Select the width of the screen in pixels."' PORT INLINE,
  319. COMMAND """if %s = 0 then do;
  320. address HereticPortal string ID 3_SWI ATTRS '0x80423661' 1;
  321. end;
  322. else do;
  323. address HereticPortal string ID 3_SWI ATTRS '0x80423661' 0;
  324. end"""
  325. string ID 3_SWI ATTRS MUIA_CycleChain 1 HELP '"Select the width of the screen in pixels."'
  326. endgroup
  327. endgroup
  328. space HORIZ
  329. endgroup
  330. space
  331. group ATTRS MUIA_Group_Columns 2
  332. label "AmiHeretic Path:"
  333. popasl ID 3_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the AmiHeretic executable!"'
  334. endgroup
  335. endgroup
  336. group
  337. group frame ATTRS MUIA_Group_Columns 2 label "Heretic.cfg"
  338. button ID 3_GLO ATTRS MUIA_CycleChain 1 command """HereticPortal.rexx LOAD_3""" label "Load Heretic.cfg"
  339. button ID 3_GSA ATTRS MUIA_CycleChain 1 command """HereticPortal.rexx SAVE_3""" label "Save Heretic.cfg"
  340. endgroup
  341. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,ChatMacros"
  342. group scroll ATTRS MUIA_Group_Columns 2
  343. label "Mouse Sensitivity:"
  344. slider ID 3_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9
  345. label "Sfx Volume:"
  346. slider ID 3_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  347. label "Music Volume:"
  348. slider ID 3_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  349. label "Gamma Correct:"
  350. slider ID 3_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4
  351. label "Screen Blocks:"
  352. slider ID 3_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11
  353. endgroup
  354. group scroll ATTRS MUIA_Group_Columns 2
  355. label "Key Right:"
  356. poplist ID 3_20 ATTRS MUIA_CycleChain 1 labels keys
  357. label "Key Left:"
  358. poplist ID 3_21 ATTRS MUIA_CycleChain 1 labels keys
  359. label "Key Up:"
  360. poplist ID 3_22 ATTRS MUIA_CycleChain 1 labels keys
  361. label "Key Down:"
  362. poplist ID 3_23 ATTRS MUIA_CycleChain 1 labels keys
  363. label "Key Strafe Left:"
  364. poplist ID 3_24 ATTRS MUIA_CycleChain 1 labels keys
  365. label "Key Strafe Right:"
  366. poplist ID 3_25 ATTRS MUIA_CycleChain 1 labels keys
  367. label "Key Fly Up:"
  368. poplist ID 3_26 ATTRS MUIA_CycleChain 1 labels keys
  369. label "Key Fly Down:"
  370. poplist ID 3_27 ATTRS MUIA_CycleChain 1 labels keys
  371. label "Key Fly Center:"
  372. poplist ID 3_28 ATTRS MUIA_CycleChain 1 labels keys
  373. label "Key Look Up:"
  374. poplist ID 3_29 ATTRS MUIA_CycleChain 1 labels keys
  375. label "Key Look Down:"
  376. poplist ID 3_30 ATTRS MUIA_CycleChain 1 labels keys
  377. label "Key Look Center:"
  378. poplist ID 3_31 ATTRS MUIA_CycleChain 1 labels keys
  379. label "Key Inv Left:"
  380. poplist ID 3_32 ATTRS MUIA_CycleChain 1 labels keys
  381. label "Key Inv Right:"
  382. poplist ID 3_33 ATTRS MUIA_CycleChain 1 labels keys
  383. label "Key Use Artifact:"
  384. poplist ID 3_34 ATTRS MUIA_CycleChain 1 labels keys
  385. label "Key Fire:"
  386. poplist ID 3_35 ATTRS MUIA_CycleChain 1 labels keys
  387. label "Key Use:"
  388. poplist ID 3_36 ATTRS MUIA_CycleChain 1 labels keys
  389. label "Key Strafe:"
  390. poplist ID 3_37 ATTRS MUIA_CycleChain 1 labels keys
  391. label "Key Speed:"
  392. poplist ID 3_38 ATTRS MUIA_CycleChain 1 labels keys
  393. endgroup
  394. group scroll ATTRS MUIA_Group_Columns 2
  395. label "ChatMacro0:"
  396. string ID 3_80 ATTRS MUIA_CycleChain 1
  397. label "ChatMacro1:"
  398. string ID 3_81 ATTRS MUIA_CycleChain 1
  399. label "ChatMacro2:"
  400. string ID 3_82 ATTRS MUIA_CycleChain 1
  401. label "ChatMacro3:"
  402. string ID 3_83 ATTRS MUIA_CycleChain 1
  403. label "ChatMacro4:"
  404. string ID 3_84 ATTRS MUIA_CycleChain 1
  405. label "ChatMacro5:"
  406. string ID 3_85 ATTRS MUIA_CycleChain 1
  407. label "ChatMacro6:"
  408. string ID 3_86 ATTRS MUIA_CycleChain 1
  409. label "ChatMacro7:"
  410. string ID 3_87 ATTRS MUIA_CycleChain 1
  411. label "ChatMacro8:"
  412. string ID 3_88 ATTRS MUIA_CycleChain 1
  413. label "ChatMacro9:"
  414. string ID 3_89 ATTRS MUIA_CycleChain 1
  415. endgroup
  416. endgroup
  417. endgroup
  418. endgroup
  419. endgroup 
  420. group 
  421. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "About,Cheats,Credits"
  422. group
  423. text label "\033c\033bHereticPortal v0.7\033n\n\033cFreely Distributable Emailware\n\n\033cPlease visit my homepage:\nhttp://members.xoom.com/snorslex/\n\nPlease E-Mail me if you like/hate the program!\nSnorsleX@SoftHome.net\n\n\033r©Copyright 1999 Lorens Johansson"
  424. endgroup
  425. group
  426. list ID CHEAT TITLE """\033bCheat,\033bDescription""" ATTRS MUIA_CycleChain 1 MUIA_List_Format """MIW=15 BAR,""" MUIA_List_DragSortable 1
  427. endgroup
  428. group
  429. view ATTRS MUIA_CycleChain 1 string "\033c\033bCredits goes to:\n\n\033lRobert Karlsson - Beta Testing and for the name HereticPortal :)"
  430. endgroup
  431. endgroup
  432. endgroup 
  433. endgroup
  434. group ATTRS MUIA_Group_Columns 2
  435. label "Which Port:"
  436. cycle ID WPORT ATTRS MUIA_CycleChain 1 help "Select which port to play!" labels "Heretic,AHeretic,AmiHeretic"
  437. label "Buffers:"
  438. slider ID BUFFS ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 10000
  439. label "Stack Size:"
  440. slider ID STACK ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 200000
  441. endgroup
  442. group ATTRS MUIA_Group_Columns 3
  443. button ID START ATTRS MUIA_CycleChain 1 help '"Starts Heretic."' COMMAND """HereticPortal.rexx START""" label "Run Heretic"
  444. space HORIZ
  445. button ID QUIT ATTRS MUIA_CycleChain 1 help '"Quits HereticPortal."' COMMAND '"quit"' PORT HereticPortal label "Quit HereticPortal"
  446. endgroup
  447. endwindow
  448. c.0 = 22
  449. c.1 = "\0333quicken,God Mode"
  450. c.2 = "\0333skel,All Keys"
  451. c.3 = "\0333shazam,Full-Strength Weapons"
  452. c.4 = "\0333rambo,All Weapons"
  453. c.5 = "\0333ponce,Full Health"
  454. c.6 = "\0333massacre,Kills all enemies on the level."
  455. c.7 = "\0333kitty,No Clip"
  456. c.8 = "\0333idkfa,No weapons."
  457. c.9 = "\0333iddqd,Instant death."
  458. c.10 = ",\033bJ:\033n Chaos Device."
  459. c.11 = ",\033bI:\033n Wings of Wrath."
  460. c.12 = ",\033bH:\033n Morph Ovum."
  461. c.13 = ",\033bG:\033n Time Bomb of the Ancients."
  462. c.14 = ",\033bF:\033n Torch."
  463. c.15 = ",\033bE:\033n Tome of Power."
  464. c.16 = ",\033bD:\033n Mystic Urn."
  465. c.17 = ",\033bC:\033n Quartz Flask."
  466. c.18 = ",\033bB:\033n Shadowsphere."
  467. c.19 = ",\033bA:\033n Ring of Invulnerability "
  468. c.20 = "\0333gimme#,Get Artifact. (A-J)"
  469. c.21 = "\0333engage#?,Level Skip. #=Episode ?=Level"
  470. c.22 = "\0333cockadoodledoo,Chicken mode."
  471. i = 0
  472. do c.0
  473. i = i + 1
  474. list ID CHEAT INSERT STRING c.i
  475. end
  476. call LoadSettings
  477. return
  478. Start:
  479. address command "cls"
  480. say "-) Getting info from GUI. (-"
  481. address HereticPortal
  482. cycle ID WPORT
  483. WHICHPORT = result
  484. if WHICHPORT = "Heretic" then do
  485. popasl ID 1_PAT
  486. FULLPATH = result
  487. end
  488. if WHICHPORT = "AHeretic" then do
  489. popasl ID 2_PAT
  490. FULLPATH = result
  491. end
  492. if WHICHPORT = "AmiHeretic" then do
  493. popasl ID 3_PAT
  494. FULLPATH = result
  495. end
  496. plats = pos(':',FULLPATH)
  497. DIR = left(FULLPATH,plats)
  498. FULLPATH = delstr(FULLPATH, 1, plats)
  499. done = 0
  500. do until done = 1
  501. plats = pos('/',FULLPATH)
  502. if plats ~= 0 then do
  503. DIR = DIR||left(FULLPATH,plats)
  504. FULLPATH = delstr(FULLPATH, 1, plats)
  505. end
  506. else do
  507. FILE = delstr(FULLPATH, 1, plats)
  508. done = 1
  509. end
  510. end
  511. if WHICHPORT = "Heretic" then do
  512. check ID 1_ASL
  513. if result = 1 then FILE = FILE||" -asl"
  514. check ID 1_BIL
  515. if result = 1 then FILE = FILE||" -bilinear"
  516. check ID 1_DIR
  517. if result = 1 then FILE = FILE||" -directcgx"
  518. check ID 1_FPS
  519. if result = 1 then FILE = FILE||" -fps"
  520. check ID 1_HA6
  521. if result = 1 then FILE = FILE||" -ham6"
  522. check ID 1_HA8
  523. if result = 1 then FILE = FILE||" -ham8"
  524. check ID 1_HIC
  525. if result = 1 then FILE = FILE||" -hicolor"
  526. check ID 1_JOY
  527. if result = 1 then FILE = FILE||" -joy"
  528. check ID 1_LOW
  529. if result = 1 then FILE = FILE||" -lowdetail"
  530. check ID 1_MOU
  531. if result = 1 then FILE = FILE||" -mouse"
  532. check ID 1_MUS
  533. if result = 1 then FILE = FILE||" -music"
  534. check ID 1_NOD
  535. if result = 1 then FILE = FILE||" -nodoublebuffer"
  536. check ID 1_NOS
  537. if result = 1 then FILE = FILE||" -nosfx"
  538. check ID 1_NOO
  539. if result = 1 then FILE = FILE||" -nosound"
  540. check ID 1_TUR
  541. if result = 1 then FILE = FILE||" -turbo"
  542. check ID 1_WIN
  543. if result = 1 then FILE = FILE||" -window"
  544. check ID 1_CBU
  545. if result = 1 then do
  546. string ID 1_SBU
  547. FILE = FILE||" -bus "||result
  548. end
  549. check ID 1_CPL
  550. if result = 1 then do
  551. string ID 1_SPL
  552. FILE = FILE||" -playdemo "||result
  553. end
  554. end
  555. if WHICHPORT = "AmiHeretic" then do
  556. check ID 3_BAT
  557. if result = 1 then FILE = FILE||" -bat"
  558. check ID 3_DBU
  559. if result = 1 then FILE = FILE||" -dbuf"
  560. check ID 3_GOS
  561. if result = 1 then FILE = FILE||" -gosure"
  562. check ID 3_MMU
  563. if result = 1 then FILE = FILE||" -mmu"
  564. check ID 3_MUS
  565. if result = 1 then FILE = FILE||" -music"
  566. check ID 3_NOS
  567. if result = 1 then FILE = FILE||" -nosfx"
  568. check ID 3_CHE
  569. if result = 1 then do
  570. string ID 3_SHE
  571. FILE = FILE||" -height "||result
  572. end
  573. check ID 3_CWI
  574. if result = 1 then do
  575. string ID 3_SWI
  576. FILE = FILE||" -width "||result
  577. end
  578. end
  579. say "-) Changing Directory. (-"
  580. call PRAGMA(D,DIR)
  581. say "-) Setting Stack Value (-"
  582. Address HereticPortal slider id STACK ATTRS MUIA_Slider_Level
  583. newstack = result
  584. say "-) New Stack is ["||newstack||"] (-"
  585. call pragma(S,newstack)
  586. say "-) Caculates Buffers (-"
  587. parse var DIR drive ":" rest
  588. drive = drive || ":"
  589. address command "addbuffers "||drive||" >t:buffers"
  590. if ~open(buff,'t:buffers',"R") then do
  591. say "-» Something went wrong when adding buffers to "||drive||" «-"
  592. exit
  593. end
  594. buffers = readln(buff)
  595. buffers = word(buffers,3)
  596. call close(buff)
  597. address command "delete t:buffers <>NIL: quiet"
  598. say "-) There is "||buffers||" buffers on "||drive||" (-"
  599. Address HereticPortal slider id BUFFS ATTRS MUIA_Slider_Level
  600. newbuff = result
  601. buffchange = newbuff - buffers
  602. if buffchange > 0 then do
  603. say "-) Needs to add "||buffchange||" buffers to "||drive||" (-"
  604. say "-) Adding buffers. (-"
  605. end
  606. if buffchange < 0 then do
  607. say "-) Needs to remove "||abs(buffchange)||" buffers from "||drive||" (-"
  608. say "-) Removing buffers. (-"
  609. end
  610. address command "addbuffers "||drive buffchange||" >NIL:"
  611. say "-) The commandline is ["||FILE||"] (-"
  612. say "-) Launching "||WHICHPORT||". (-"
  613. say ""
  614. address command FILE
  615. return
  616. LoadSettings:
  617. if open(set,'HereticPortal.prefs',"R") then do
  618. address HereticPortal
  619. call readln(set)
  620. check ID 1_ASL ATTRS MUIA_Selected result
  621. call readln(set)
  622. check ID 1_BIL ATTRS MUIA_Selected result
  623. call readln(set)
  624. check ID 1_DIR ATTRS MUIA_Selected result
  625. call readln(set)
  626. check ID 1_FPS ATTRS MUIA_Selected result
  627. call readln(set)
  628. check ID 1_HA6 ATTRS MUIA_Selected result
  629. call readln(set)
  630. check ID 1_HA8 ATTRS MUIA_Selected result
  631. call readln(set)
  632. check ID 1_HIC ATTRS MUIA_Selected result
  633. call readln(set)
  634. check ID 1_JOY ATTRS MUIA_Selected result
  635. call readln(set)
  636. check ID 1_LOW ATTRS MUIA_Selected result
  637. call readln(set)
  638. check ID 1_MOU ATTRS MUIA_Selected result
  639. call readln(set)
  640. check ID 1_MUS ATTRS MUIA_Selected result
  641. call readln(set)
  642. check ID 1_NOD ATTRS MUIA_Selected result
  643. call readln(set)
  644. check ID 1_NOS ATTRS MUIA_Selected result
  645. call readln(set)
  646. check ID 1_NOO ATTRS MUIA_Selected result
  647. call readln(set)
  648. check ID 1_TUR ATTRS MUIA_Selected result
  649. call readln(set)
  650. check ID 1_WIN ATTRS MUIA_Selected result
  651. call readln(set)
  652. chk = result
  653. if chk = 0 then string ID 1_SBU ATTRS MUIA_Disabled 1
  654. check ID 1_CBU ATTRS MUIA_Selected chk
  655. call readln(set)
  656. string ID 1_SBU content result
  657. call readln(set)
  658. chk = result
  659. if chk = 0 then string ID 1_SPL ATTRS MUIA_Disabled 1
  660. check ID 1_CPL ATTRS MUIA_Selected chk
  661. call readln(set)
  662. string ID 1_SPL content result
  663. call readln(set)
  664. check ID 3_BAT ATTRS MUIA_Selected result
  665. call readln(set)
  666. check ID 3_DBU ATTRS MUIA_Selected result
  667. call readln(set)
  668. check ID 3_GOS ATTRS MUIA_Selected result
  669. call readln(set)
  670. check ID 3_MMU ATTRS MUIA_Selected result
  671. call readln(set)
  672. check ID 3_MUS ATTRS MUIA_Selected result
  673. call readln(set)
  674. check ID 3_NOS ATTRS MUIA_Selected result
  675. call readln(set)
  676. chk = result
  677. if chk = 0 then string ID 3_SHE ATTRS MUIA_Disabled 1
  678. check ID 3_CHE ATTRS MUIA_Selected chk
  679. call readln(set)
  680. string ID 3_SHE content result
  681. call readln(set)
  682. chk = result
  683. if chk = 0 then string ID 3_SWI ATTRS MUIA_Disabled 1
  684. check ID 3_CWI ATTRS MUIA_Selected chk
  685. call readln(set)
  686. string ID 3_SWI content result
  687. call readln(set)
  688. cycle ID WPORT ATTRS MUIA_Cycle_Active result
  689. call readln(set)
  690. slider ID BUFFS ATTRS MUIA_Slider_Level result
  691. call readln(set)
  692. slider ID STACK ATTRS MUIA_Slider_Level result
  693. call readln(set)
  694. popasl ID 1_PAT content result
  695. call readln(set)
  696. popasl ID 2_PAT content result
  697. call readln(set)
  698. popasl ID 3_PAT content result
  699. call close(set)
  700. end
  701. else say "Could not find HereticPortal.Prefs"
  702. return
  703. SaveSettings:
  704. call open(set,'HereticPortal.prefs',"W")
  705. address HereticPortal
  706. check ID 1_ASL
  707. call writeln(set,result)
  708. check ID 1_BIL
  709. call writeln(set,result)
  710. check ID 1_DIR
  711. call writeln(set,result)
  712. check ID 1_FPS
  713. call writeln(set,result)
  714. check ID 1_HA6
  715. call writeln(set,result)
  716. check ID 1_HA8
  717. call writeln(set,result)
  718. check ID 1_HIC
  719. call writeln(set,result)
  720. check ID 1_JOY
  721. call writeln(set,result)
  722. check ID 1_LOW
  723. call writeln(set,result)
  724. check ID 1_MOU
  725. call writeln(set,result)
  726. check ID 1_MUS
  727. call writeln(set,result)
  728. check ID 1_NOD
  729. call writeln(set,result)
  730. check ID 1_NOS
  731. call writeln(set,result)
  732. check ID 1_NOO
  733. call writeln(set,result)
  734. check ID 1_TUR
  735. call writeln(set,result)
  736. check ID 1_WIN
  737. call writeln(set,result)
  738. check ID 1_CBU
  739. call writeln(set,result)
  740. string ID 1_SBU
  741. call writeln(set,result)
  742. check ID 1_CPL
  743. call writeln(set,result)
  744. string ID 1_SPL
  745. call writeln(set,result)
  746. check ID 3_BAT
  747. call writeln(set,result)
  748. check ID 3_DBU
  749. call writeln(set,result)
  750. check ID 3_GOS
  751. call writeln(set,result)
  752. check ID 3_MMU
  753. call writeln(set,result)
  754. check ID 3_MUS
  755. call writeln(set,result)
  756. check ID 3_NOS
  757. call writeln(set,result)
  758. check ID 3_CHE
  759. call writeln(set,result)
  760. string ID 3_SHE
  761. call writeln(set,result)
  762. check ID 3_CWI
  763. call writeln(set,result)
  764. string ID 3_SWI
  765. call writeln(set,result)
  766. cycle ID WPORT
  767. WhichP = result
  768. if WhichP = "Heretic" then call writeln(set,"0")
  769. if WhichP = "AHeretic" then call writeln(set,"1")
  770. if WhichP = "AmiHeretic" then call writeln(set,"2")
  771. slider ID BUFFS
  772. call writeln(set,result)
  773. slider ID STACK
  774. call writeln(set,result)
  775. popasl ID 1_PAT
  776. call writeln(set,result)
  777. popasl ID 2_PAT
  778. call writeln(set,result)
  779. popasl ID 3_PAT
  780. call writeln(set,result)
  781. call close(set)
  782. return
  783. Tags:
  784. MUIA_Application_Sleep = 0x80425711
  785. MUIA_AppMessage = 0x80421955
  786. MUIA_CycleChain = 0x80421ce7
  787. MUIA_Disabled = 0x80423661
  788. MUIA_Group_Columns = 0x8042f416
  789. MUIA_Group_Horiz = 0x8042536b
  790. MUIA_Group_Rows = 0x8042b68f
  791. MUIA_List_DragSortable = 0x80426099
  792. MUIA_List_Format = 0x80423c0a
  793. MUIA_Menuitem_Shortcut = 0x80422030
  794. MUIA_Menuitem_Title = 0x804218be
  795. MUIA_Radio_Active = 0x80429b41
  796. MUIA_Selected = 0x8042654b
  797. MUIA_Slider_Level = 0x8042ae3a
  798. MUIA_Slider_Max = 0x8042d78a
  799. MUIA_Slider_Min = 0x8042e404
  800. MUIA_String_Contents = 0x80428ffd
  801. MUIA_Weight = 0x80421d1f
  802. MUIA_Window_ScreenTitle = 0x804234b0
  803. MUIM_Application_AboutMUI = 0x8042d21d
  804. MUIM_Application_OpenConfigWindow = 0x804299ba
  805. R='0A'X
  806. keys = "9-Tab,13-Return/Enter,27-Escape,29-*UNKNOWN*,31-*UNKNOWN*,32-Space,39-',42-Num_*,43-+/Num_+,44-Comma,45-Minus/Num_Minus,46-./Num_.,47-Num_/,48-0,49-1,50-2,51-3,52-4,53-5,54-6,55-7,56-8,57-9,60-<,61-*UNKNOWN*,63-*UNKNOWN*,64-*UNKNOWN*,68-*UNKNOWN*,71-Num_6,73-Num_9,79-Num_4,81-Num_7,82-Num_3,83-Num_1,90-*UNKNOWN*,91-*UNKNOWN*,92-Backslash,93-*UNKNOWN*,96-~,97-A,98-B,99-C,100-D,101-E,102-F,103-G,104-H,105-I,106-J,107-K,108-L,109-M,110-N,111-O,112-P,113-Q,114-R,115-S,116-T,117-U,118-V,119-W,120-X,121-Y,122-Z,157-Ctrl/Right_Amiga,172-Cursor_Left,173-Cursor_Up,174-Cursor_Right,175-Cursor_Down,182-Shift,184-Alt,"
  807. Return 0
  808. Config:
  809. WINDID = arg(2)
  810. address HereticPortal
  811. popasl ID WINID||PAT
  812. PATH = result
  813. plats = pos(':',PATH)
  814. DIR = left(PATH,plats)
  815. PATH = delstr(PATH, 1, plats)
  816. done = 0
  817. do until done = 1
  818. plats = pos('/',PATH)
  819. if plats ~= 0 then do
  820. DIR = DIR||left(PATH,plats)
  821. PATH = delstr(PATH, 1, plats)
  822. end
  823. else done = 1
  824. end
  825. if ~exists(DIR||"Heretic.cfg") then do
  826. say "Could not find Heretic.cfg, either it does not exists or the path to Heretic is wrong!"
  827. return
  828. end
  829. address HereticPortal
  830. button ID WINID||GLO ATTRS MUIA_Disabled 1
  831. button ID WINID||GSA ATTRS MUIA_Disabled 1
  832. call open(file,DIR||"Heretic.cfg","R")
  833. i = 1
  834. do until eof(file)
  835. line.i = readln(file)
  836. i = i + 1
  837. end
  838. line.0 = i - 1
  839. if arg(1) = "Load" then lors = "L"
  840. if arg(1) = "Save" then lors = "S"
  841. call ch("mouse_sensitivity",WINID||1,lors,s)
  842. call ch("sfx_volume",WINID||2,lors,s)
  843. call ch("music_volume",WINID||3,lors,s)
  844. call ch("usegamma",WINID||4,lors,s)
  845. call ch("screenblocks",WINID||5,lors,s)
  846. if lors = "L" then do
  847. call ch("key_right",WINID||20,lors,"key")
  848. call LoadKey(result,WINID||20)
  849. call ch("key_left",WINID||21,lors,"key")
  850. call LoadKey(result,WINID||21)
  851. call ch("key_up",WINID||22,lors,"key")
  852. call LoadKey(result,WINID||22)
  853. call ch("key_down",WINID||23,lors,"key")
  854. call LoadKey(result,WINID||23)
  855. call ch("key_strafeleft",WINID||24,lors,"key")
  856. call LoadKey(result,WINID||24)
  857. call ch("key_straferight",WINID||25,lors,"key")
  858. call LoadKey(result,WINID||25)
  859. call ch("key_flyup",WINID||26,lors,"key")
  860. call LoadKey(result,WINID||26)
  861. call ch("key_flydown",WINID||27,lors,"key")
  862. call LoadKey(result,WINID||27)
  863. call ch("key_flycenter",WINID||28,lors,"key")
  864. call LoadKey(result,WINID||28)
  865. call ch("key_lookup",WINID||29,lors,"key")
  866. call LoadKey(result,WINID||29)
  867. call ch("key_lookdown",WINID||30,lors,"key")
  868. call LoadKey(result,WINID||30)
  869. call ch("key_lookcenter",WINID||31,lors,"key")
  870. call LoadKey(result,WINID||31)
  871. call ch("key_invleft",WINID||32,lors,"key")
  872. call LoadKey(result,WINID||32)
  873. call ch("key_invright",WINID||33,lors,"key")
  874. call LoadKey(result,WINID||33)
  875. call ch("key_useartifact",WINID||34,lors,"key")
  876. call LoadKey(result,WINID||34)
  877. call ch("key_fire",WINID||35,lors,"key")
  878. call LoadKey(result,WINID||35)
  879. call ch("key_use",WINID||36,lors,"key")
  880. call LoadKey(result,WINID||36)
  881. call ch("key_strafe",WINID||37,lors,"key")
  882. call LoadKey(result,WINID||37)
  883. call ch("key_speed",WINID||38,lors,"key")
  884. call LoadKey(result,WINID||38)
  885. end
  886. if lors = "S" then do
  887. call SaveKey(WINID||20)
  888. call ch("key_right",WINID||20,lors,result)
  889. call SaveKey(WINID||21)
  890. call ch("key_left",WINID||21,lors,result)
  891. call SaveKey(WINID||22)
  892. call ch("key_up",WINID||22,lors,result)
  893. call SaveKey(WINID||23)
  894. call ch("key_down",WINID||23,lors,result)
  895. call SaveKey(WINID||24)
  896. call ch("key_strafeleft",WINID||24,lors,result)
  897. call SaveKey(WINID||25)
  898. call ch("key_straferight",WINID||25,lors,result)
  899. call SaveKey(WINID||26)
  900. call ch("key_flyup",WINID||26,lors,result)
  901. call SaveKey(WINID||27)
  902. call ch("key_flydown",WINID||27,lors,result)
  903. call SaveKey(WINID||28)
  904. call ch("key_flycenter",WINID||28,lors,result)
  905. call SaveKey(WINID||29)
  906. call ch("key_lookup",WINID||29,lors,result)
  907. call SaveKey(WINID||30)
  908. call ch("key_lookdown",WINID||30,lors,result)
  909. call SaveKey(WINID||31)
  910. call ch("key_lookcenter",WINID||31,lors,result)
  911. call SaveKey(WINID||32)
  912. call ch("key_invleft",WINID||32,lors,result)
  913. call SaveKey(WINID||33)
  914. call ch("key_invright",WINID||33,lors,result)
  915. call SaveKey(WINID||34)
  916. call ch("key_useartifact",WINID||34,lors,result)
  917. call SaveKey(WINID||35)
  918. call ch("key_fire",WINID||35,lors,result)
  919. call SaveKey(WINID||36)
  920. call ch("key_use    ",WINID||36,lors,result)
  921. call SaveKey(WINID||37)
  922. call ch("key_strafe    ",WINID||37,lors,result)
  923. call SaveKey(WINID||38)
  924. call ch("key_speed",WINID||38,lors,result)
  925. end
  926. call ch("chatmacro0",WINID||80,lors)
  927. call ch("chatmacro1",WINID||81,lors)
  928. call ch("chatmacro2",WINID||82,lors)
  929. call ch("chatmacro3",WINID||83,lors)
  930. call ch("chatmacro4",WINID||84,lors)
  931. call ch("chatmacro5",WINID||85,lors)
  932. call ch("chatmacro6",WINID||86,lors)
  933. call ch("chatmacro7",WINID||87,lors)
  934. call ch("chatmacro8",WINID||88,lors)
  935. call ch("chatmacro9",WINID||89,lors)
  936. call close(file)
  937. call open(file,DIR||"Heretic.cfg",W)
  938. i = 1
  939. do until i = line.0
  940. call writeln(file,line.i)
  941. i = i + 1
  942. end
  943. call close(file)
  944. address HereticPortal
  945. button ID WINID||GLO ATTRS MUIA_Disabled 0
  946. button ID WINID||GSA ATTRS MUIA_Disabled 0
  947. return 0
  948. LoadKey:
  949. sak = arg(1)
  950. plats = pos(""||sak||"",keys)
  951. if plats ~= 0 then do
  952. len = length(keys)
  953. antal = len - plats + 1
  954. keyjox = right(keys,antal)
  955. sak = right(keys,antal)
  956. sak = left(sak,pos(',',sak)-1)
  957. end
  958. poplist ID stringid content sak
  959. return
  960. SaveKey:
  961. stringid = arg(1)
  962. poplist ID stringid
  963. sak = result
  964. plats = pos(sak,keys)
  965. len = length(keys)
  966. antal = len - plats + 1
  967. sak = right(keys,antal)
  968. nysak = left(sak,pos('-',sak)-1)
  969. return(nysak)
  970. ch:
  971. searchingfor = arg(1)
  972. stringid = arg(2)
  973. saveorload = arg(3)
  974. ischat = pos("chatmacro",searchingfor)
  975. type = arg(4)
  976. key = ""
  977. i = 1
  978. do until i = line.0
  979. if upper(left(line.i,length(searchingfor))) = upper(searchingfor) then do
  980. if  ischat then parse var line.i RUBBISH '"' setting '"'
  981. if ~ischat then parse var line.i RUBBISH "    " setting
  982. if ~ischat then setting = Compress(setting,"    , ")
  983. WASATLINE = i
  984. if saveorload = "L" then do
  985. select
  986. when type = "S" then Address HereticPortal slider ID stringid ATTRS MUIA_Slider_Level setting
  987. when type = "C" then Address HereticPortal cycle ID stringid ATTRS MUIA_Cycle_Active setting
  988. when type = "key" then key = setting
  989. otherwise Address HereticPortal string ID stringid content Setting
  990. end
  991. end
  992. if saveorload = "S" then do
  993. select
  994. when type = "S" then address HereticPortal slider ID stringid
  995. when type = "C" then address HereticPortal cycle ID stringid
  996. when type = "key" then address HereticPortal poplist ID stringid
  997. otherwise Address HereticPortal string ID stringid
  998. end
  999. changeto=result
  1000. if searchingfor = "key_use    " then searchingfor = "key_use"
  1001. if searchingfor = "key_strafe    " then searchingfor = "key_strafe"
  1002. if ~ischat then line.i = searchingfor"        "changeto
  1003. if ischat then line.i = searchingfor"        "'"'changeto'"'
  1004. end
  1005. end
  1006. i = i + 1
  1007. end
  1008. return(key)
  1009.